Application Business Rules
from The Clean Architecture
The Clean Architecture.iconの/color/FF8A80.icon
Use Caseを書く
#WIP
DTOで定義する? ref
なんのために?
イメージ的には以下の3パーツ
具象のUsecase Interactor
インターフェースのInput Port
インターフェースのOutput Port
Usecase Interactor
具象クラス
外部の世界を知らないで済むように、Input PortとOutput Portを介する
逆に見ればInput PortとOutput Portを結びつけるのかUsecase Interactor
ユーザーの一つ一つのアクション的なものを書く
例
Login
UserRepository.save
#??
CA:Gateways(Repository)とのやりとりにももちろんPortが必要なんだよね
『Clean Architecture』 pp.192-193に気になる記述がある
UseCaseで使うデータ構造は、Entityには依存しない固有のデータ構造になる
これらのデータ構造にエンティティオブジェクトへの参照を含めたいと思うかもしれない。(中略)だが、この誘惑に負けてはいけない!この2つのオブジェクトの目的は全く違う。
これをやると、トランプデータが発生してしまう
なるほど?mrsekut.icon
https://gist.github.com/mpppk/609d592f25cab9312654b39f1b357c60#application-business-rules
https://qiita.com/os1ma/items/25725edfe3c2af93d735#アプリケーションビジネスルール